Dynamic video image management

ABSTRACT

Disclosed aspects relate to dynamic video image management. A set of dynamic image quality factors may be collected with respect to a dynamic video image. A set of display parameter values may be determined based on the set of dynamic image quality factors. The set of display parameter values may be of a set of display parameter values for a set of computing assets. The set of display parameter values may be determined to benefit the set of dynamic image quality factors with respect to the dynamic video image. The set of computing assets may be configured using the set of display parameter values. The set of computing assets may be configured to benefit the set of dynamic image quality factors with respect to the dynamic video image.

BACKGROUND

This disclosure relates generally to computer systems and, moreparticularly, relates to dynamic video image management. Video imagesmay be used to facilitate connections between individuals. The use ofvideo images to communicate is increasing. As the number of individualsusing video communication increases, the need for dynamic video imagemanagement may also increase.

SUMMARY

Aspects of the disclosure relate to the management of dynamic videoimages such as those images of a real-time video conference. Disclosedaspects may measure the quality of a facial image during a live onlinevideo recording. Features may modify settings or parameters such asbrightness and color of the display screen in order to improve thequality of the video image of the user. Modifications may be made to thepresentation of the display screen and the content of the open windows,as well as other aspects. The modifications may, for example, regulatethe light emission from the screen in order to positively impact thewhite balance and temperature of the image. Features of dynamic videoimage management may facilitate, in an automated or streamlined fashion,the quality of the video image. Accordingly, an individual may not needto manually modify their surroundings, such as closing the curtains ormoving lights, to change the quality of the video image.

Disclosed aspects relate to dynamic video image management. A set ofdynamic image quality factors may be collected with respect to a dynamicvideo image. A set of display parameter values may be determined basedon the set of dynamic image quality factors. The set of displayparameter values may be of a set of display parameter values for a setof computing assets. The set of display parameter values may bedetermined to benefit the set of dynamic image quality factors withrespect to the dynamic video image. The set of computing assets may beconfigured using the set of display parameter values. The set ofcomputing assets may be configured to benefit the set of dynamic imagequality factors with respect to the dynamic video image.

The above summary is not intended to describe each illustratedembodiment or every implementation of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings included in the present application are incorporated into,and form part of, the specification. They illustrate embodiments of thepresent disclosure and, along with the description, serve to explain theprinciples of the disclosure. The drawings are only illustrative ofcertain embodiments and do not limit the disclosure.

FIG. 1 depicts a high-level block diagram of a computer system forimplementing various embodiments of the present disclosure, according toembodiments.

FIG. 2 is a flowchart illustrating a method of dynamic video imagemanagement, according to embodiments.

FIG. 3 is a flowchart illustrating a method of dynamic video imagemanagement, according to embodiments.

FIG. 4 is a flowchart illustrating a method of dynamic video imagemanagement, according to embodiments.

FIG. 5 is a flowchart illustrating a method of dynamic video imagemanagement, according to embodiments.

FIG. 6 illustrates an example system for dynamic video image management,according to embodiments.

FIG. 7 illustrates an example system for dynamic video image management,according to embodiments.

While the invention is amenable to various modifications and alternativeforms, specifics thereof have been shown by way of example in thedrawings and will be described in detail. It should be understood,however, that the intention is not to limit the invention to theparticular embodiments described. On the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention.

DETAILED DESCRIPTION

Aspects of the disclosure relate to the management of dynamic videoimages such as those images of a real-time video conference. Disclosedaspects may measure the quality of a facial image during a live onlinevideo recording. Features may modify settings or parameters such asbrightness and color of the display screen in order to improve thequality of the video image of the user. Modifications may be made to thepresentation of the display screen and the content of the open windows,as well as other aspects. The modifications may, for example, regulatethe light emission from the screen in order to positively impact thewhite balance and temperature of the image. Features of dynamic videoimage management may facilitate, in an automated or streamlined fashion,the quality of the video image. Accordingly, an individual may not needto manually modify their surroundings, such as closing the curtains ormoving lights, to change the quality of the video image.

The use of video communication through computing devices is becomingmore and more popular. When a user is communicating with someoneface-to-face online, the colors, brightness, and other factors may bedesired to be high quality and allow the user to look their best. Theuser could close the curtains or adjust the lighting in the room toimprove the quality of the video image, but this may have challenges.Also, the user may be multi-tasking and may have multiple devices,applications, operating systems, or windows in use at the same time. Amanual adjustment of the environment may not sufficiently or efficientlyimprove the quality of the video image for the plurality of assets inuse. Aspects described herein may provide a more direct method toimprove facial representation during a video communication.

Aspects of the disclosure include a system, method, and computer programproduct for dynamic video image management. A set of dynamic imagequality factors may be collected with respect to a dynamic video image.A set of display parameter values may be determined based on the set ofdynamic image quality factors. The set of display parameter values maybe of a set of display parameter values for a set of computing assets.The set of display parameter values may be determined to benefit the setof dynamic image quality factors with respect to the dynamic videoimage. The set of computing assets may be configured using the set ofdisplay parameter values. The set of computing assets may be configuredto benefit the set of dynamic image quality factors with respect to thedynamic video image.

In embodiments, disclosed aspects may select a set of image qualityfactors from a group consisting of a white balance factor, a temperaturefactor, a saturation factor, and other image quality factors. Variousembodiments may capture a set of facial-related features using a set ofcamera sensors to collect the set of image quality factors. In certainembodiments, features may select a set of display parameters from agroup consisting of a display illumination parameter, a color parameter,a brightness parameter, a contrast parameter, or other displayparameters. Certain embodiments may structure the set of computingassets to include a plurality of computing devices, a plurality ofcomputing devices with separate operating systems, a plurality ofseparate application windows, or a plurality of computing devices with aplurality of separate operating systems with a plurality of differentapplication windows. Altogether, aspects of the disclosure can haveperformance or efficiency benefits (e.g., reliability, speed,flexibility, responsiveness, stability, high availability, resourceusage, productivity). Aspects may save resources such as bandwidth,disk, processing, or memory. For instance, bandwidth may be savedthrough dynamic video image management. Poor quality of a video imagemay require the user to keep changing their location in order to find alocation that results in better image quality. If, for example, thesmartphone of the user is not connected to a wireless internet source,the user may be wasting bandwidth on their smartphone while looking fora better location. If dynamic video image management is used, the usermay not waste bandwidth on their smartphone because they may not have tosearch for a location that results in a quality video image. Othermethods of conserving bandwidth and other resources may also bepossible.

Turning now to the figures, FIG. 1 depicts a high-level block diagram ofa computer system for implementing various embodiments of the presentdisclosure, according to embodiments. The mechanisms and apparatus ofthe various embodiments disclosed herein apply equally to anyappropriate computing system. The major components of the computersystem 100 include one or more processors 102, a memory 104, a terminalinterface 112, a storage interface 114, an I/O (Input/Output) deviceinterface 116, and a network interface 118, all of which arecommunicatively coupled, directly or indirectly, for inter-componentcommunication via a memory bus 106, an I/O bus 108, bus interface unit109, and an I/O bus interface unit 110.

The computer system 100 may contain one or more general-purposeprogrammable central processing units (CPUs) 102A and 102B, hereingenerically referred to as the processor 102. In embodiments, thecomputer system 100 may contain multiple processors; however, in certainembodiments, the computer system 100 may alternatively be a single CPUsystem. Each processor 102 executes instructions stored in the memory104 and may include one or more levels of on-board cache.

In embodiments, the memory 104 may include a random-access semiconductormemory, storage device, or storage medium (either volatile ornon-volatile) for storing or encoding data and programs. In certainembodiments, the memory 104 represents the entire virtual memory of thecomputer system 100, and may also include the virtual memory of othercomputer systems coupled to the computer system 100 or connected via anetwork. The memory 104 can be conceptually viewed as a singlemonolithic entity, but in other embodiments the memory 104 is a morecomplex arrangement, such as a hierarchy of caches and other memorydevices. For example, memory may exist in multiple levels of caches, andthese caches may be further divided by function, so that one cache holdsinstructions while another holds non-instruction data, which is used bythe processor or processors. Memory may be further distributed andassociated with different CPUs or sets of CPUs, as is known in any ofvarious so-called non-uniform memory access (NUMA) computerarchitectures.

The memory 104 may store all or a portion of the various programs,modules and data structures for processing data transfers as discussedherein. For instance, the memory 104 can store a dynamic video imagemanagement application 150. In embodiments, the dynamic video imagemanagement application 150 may include instructions or statements thatexecute on the processor 102 or instructions or statements that areinterpreted by instructions or statements that execute on the processor102 to carry out the functions as further described below. In certainembodiments, the dynamic video image management application 150 isimplemented in hardware via semiconductor devices, chips, logical gates,circuits, circuit cards, and/or other physical hardware devices in lieuof, or in addition to, a processor-based system. In embodiments, thedynamic video image management application 150 may include data inaddition to instructions or statements.

The computer system 100 may include a bus interface unit 109 to handlecommunications among the processor 102, the memory 104, a display system124, and the I/O bus interface unit 110. The I/O bus interface unit 110may be coupled with the I/O bus 108 for transferring data to and fromthe various I/O units. The I/O bus interface unit 110 communicates withmultiple I/O interface units 112, 114, 116, and 118, which are alsoknown as I/O processors (IOPs) or I/O adapters (IOAs), through the I/Obus 108. The display system 124 may include a display controller, adisplay memory, or both. The display controller may provide video,audio, or both types of data to a display device 126. The display memorymay be a dedicated memory for buffering video data. The display system124 may be coupled with a display device 126, such as a standalonedisplay screen, computer monitor, television, or a tablet or handhelddevice display. In one embodiment, the display device 126 may includeone or more speakers for rendering audio. Alternatively, one or morespeakers for rendering audio may be coupled with an I/O interface unit.In alternate embodiments, one or more of the functions provided by thedisplay system 124 may be on board an integrated circuit that alsoincludes the processor 102. In addition, one or more of the functionsprovided by the bus interface unit 109 may be on board an integratedcircuit that also includes the processor 102.

The I/O interface units support communication with a variety of storageand I/O devices. For example, the terminal interface unit 112 supportsthe attachment of one or more user I/O devices 120, which may includeuser output devices (such as a video display device, speaker, and/ortelevision set) and user input devices (such as a keyboard, mouse,keypad, touchpad, trackball, buttons, light pen, or other pointingdevice). A user may manipulate the user input devices using a userinterface, in order to provide input data and commands to the user I/Odevice 120 and the computer system 100, and may receive output data viathe user output devices. For example, a user interface may be presentedvia the user I/O device 120, such as displayed on a display device,played via a speaker, or printed via a printer.

The storage interface 114 supports the attachment of one or more diskdrives or direct access storage devices 122 (which are typicallyrotating magnetic disk drive storage devices, although they couldalternatively be other storage devices, including arrays of disk drivesconfigured to appear as a single large storage device to a hostcomputer, or solid-state drives, such as flash memory). In someembodiments, the storage device 122 may be implemented via any type ofsecondary storage device. The contents of the memory 104, or any portionthereof, may be stored to and retrieved from the storage device 122 asneeded. The I/O device interface 116 provides an interface to any ofvarious other I/O devices or devices of other types, such as printers orfax machines. The network interface 118 provides one or morecommunication paths from the computer system 100 to other digitaldevices and computer systems; these communication paths may include,e.g., one or more networks 130.

Although the computer system 100 shown in FIG. 1 illustrates aparticular bus structure providing a direct communication path among theprocessors 102, the memory 104, the bus interface 109, the displaysystem 124, and the I/O bus interface unit 110, in alternativeembodiments the computer system 100 may include different buses orcommunication paths, which may be arranged in any of various forms, suchas point-to-point links in hierarchical, star or web configurations,multiple hierarchical buses, parallel and redundant paths, or any otherappropriate type of configuration. Furthermore, while the I/O businterface unit 110 and the I/O bus 108 are shown as single respectiveunits, the computer system 100 may, in fact, contain multiple I/O businterface units 110 and/or multiple I/O buses 108. While multiple I/Ointerface units are shown, which separate the I/O bus 108 from variouscommunications paths running to the various I/O devices, in otherembodiments, some or all of the I/O devices are connected directly toone or more system I/O buses.

In various embodiments, the computer system 100 is a multi-usermainframe computer system, a single-user system, or a server computer orsimilar device that has little or no direct user interface, but receivesrequests from other computer systems (clients). In other embodiments,the computer system 100 may be implemented as a desktop computer,portable computer, laptop or notebook computer, tablet computer, pocketcomputer, telephone, smart phone, or any other suitable type ofelectronic device.

FIG. 2 is a flowchart illustrating a method 200 for dynamic video imagemanagement. The method 200 may begin at block 201. In embodiments, thecollecting, the determining, the configuring, and the other stepsdescribed herein may each occur in a dynamic fashion at block 204. Thecollecting, the determining, the configuring, and the other stepsdescribed herein may occur in a dynamic fashion to streamline dynamicvideo image management. The steps described herein may be performedsimultaneously (e.g., collecting a set of dynamic image quality factorswhile the user records a video image) in order to streamline (e.g.,facilitate, promote, enhance) dynamic video image management. Othermethods of performing the steps described herein are also possible. Inembodiments, the collecting, the determining, the configuring, and theother steps described herein may each occur in an automated fashion atblock 206. The collecting, the determining, the configuring, and theother steps described herein may occur in an automated fashion withoutuser intervention. In embodiments, the steps described herein may becarried out by an internal dynamic video image management modulemaintained in a persistent storage device of a local computing device.In certain embodiments, the steps described herein may be carried out byan external dynamic video image management module hosted by a remotecomputing device or server. In this way, aspects of dynamic video imagemanagement may be performed using automated computer machinery withoutmanual action. Other methods of performing the steps described hereinare also possible.

At block 220, a set of dynamic image quality factors may be collectedwith respect to a dynamic video image. Collecting may include receiving,gathering, capturing, or otherwise accumulating a set of dynamic imagequality factors with respect to a dynamic video image. A video image maybe an electronic medium for the recording, copying, playback,broadcasting, and display of a visual medium (e.g., video chat, livevideo broadcast, video conference). A dynamic video image may be a livevideo, a streaming video, or other video image occurring continually orin real-time. A set of dynamic image quality factors may be collectedwith respect to a dynamic video image. The set of dynamic quality imagefactors may be elements, features, details, characteristics, or otheraspects that indicate the quality of an image continually or inreal-time (e.g., live, streaming, ongoing, on-the-fly).

In embodiments, the set of dynamic image quality factors may be selectedfrom a group at block 221. The set of dynamic image quality factors mayinclude a display illumination factor. The illumination factor mayindicate the level of light or lack thereof in a video image (e.g., 100%level of light on a sunny day, 0% level of light at night). For example,a video chat occurring outside on a sunny day may have a high level ofillumination, and the reflection of the light from the sun may cause thenose of the user to appear shiny. The set of dynamic image qualityfactors may include a white balance factor. The white balance factor mayindicate the level of adjustment of colors required to attain a morerealistic or natural-looking video image (e.g., 95% adjustment in anunnatural-looking image, 10% adjustment in a natural-looking image). Forexample, a video image of a user in their office building with a lowlevel of white balance may cause their skin tone to appear more yellowand unnatural. The set of dynamic image quality factors may include acolor factor. The color factor may indicate the perceived shade,pigment, or hue of an image (e.g., gray, green, orange). For example, avideo image recorded outside on a cloudy day may result in the facialfeatures of the user being tinted gray. The set of dynamic image qualityfactors may include a temperature factor. The temperature factor mayindicate the hue of a particular light source (e.g., cool blue light,warm yellow light). For example, a video image recorded in a candle-litroom with a large amount of warm yellow light may cause the teeth of auser to appear yellow.

In various embodiments, the set of dynamic image quality factors mayinclude a brightness factor. The brightness factor may indicate thelevel that a source appears to be radiating or reflecting light (e.g.,sun reflecting 100% light, dark room reflecting 0% light). For example,a video image recorded in a well-lit room may have a high level ofbrightness and may result in the face of the user appearing unnaturallywhite. The set of dynamic image quality factors may include a contrastfactor. The contrast factor may indicate the difference between twospecific points or areas in a video image (e.g., different shades of acolor, different light intensities, different colors). For example, ahigh level of contrast may cause half of the face of the user to appearvery dark and the other half to appear very light. The set of dynamicimage quality factors may include a saturation factor. The saturationfactor may indicate the depth or intensity of a color, or the degree towhich a color differs from white (e.g., bright yellow, dull blue). Forexample, a video image with high saturation may cause the blue eyes ofthe user to appear a brighter shade of blue than normal.

Consider the following example. A user may be participating in a videochat with another user on their laptop computer. A set of dynamic imagequality factors may be collected based on the dynamic video image, inthis case the video chat. The user may be in a dark room. The brightnessof the screen may cause their face to appear white in the video image onthe device of the other user. The dark room may cause the facialfeatures of the user to have less contrast in the video image on thedevice of the other user. The darkness of the room may also reducesaturation of color from the facial features of the user. The dynamicimage quality factors sensed and processed by features may include ahigh level of brightness being emitted from the laptop screen (e.g., 85%brightness), low contrast due to the darkness of the room (e.g., 2%contrast), and low saturation as a result of the white light of thelaptop screen (e.g., 3% saturation). Other methods of collecting a setof dynamic image quality factors may also occur.

At block 240, a set of display parameter values for a set of computingassets may be determined based on the set of dynamic image qualityfactors. Determining may include establishing, calculating, computing,formulating, resolving, or otherwise ascertaining a set of displayparameter values for a set of computing assets. A computing asset may behardware (e.g., equipment such as a display screen/monitor, apparatussuch as a video conferencing machine, a device such as alaptop/tablet/smartphone) or software (e.g., an operating system, anapplication program, a virtual machine, a portion thereof) related to acomputer. The computing assets may include one or more windows (e.g.,tabs in an internet browser, spreadsheets, documents, presentations, acombination such as an open tab and a document, a combination such as aspreadsheet and a presentation), one or more applications (e.g., videochats, music streaming while video chatting, spreadsheet open whilevideo chatting), one or more display screens (e.g., projecting device,desktop computer monitor), one or more computing devices (e.g., desktopcomputer, tablet computer, smartphone, smartwatch), or other computingassets. A set of display parameter values may be numerical, computed, orother resolved values related to display (e.g., a brightness parameterto control the brightness factor, a contrast parameter to manage thecontrast factor, a white balance parameter to control the white balancefactor). The set of display parameter values may be determined based on,contingent on, or otherwise connected with the set of dynamic imagequality factors.

In embodiments, the set of display parameters may be selected from agroup at block 241. The set of display parameters may include a displayillumination parameter. The display illumination parameter may changethe level of light or lack thereof in a video image (e.g., increasingthe level of light of a video image in a dark room, decreasing the levelof light of a video image recorded in a sunny room). For example,increasing the illumination in a video image recorded in a dark room maycause the face of the user to appear lighter and more visible. The setof display parameters may include a white balance parameter. The whitebalance parameter may adjust the colors in a video image in order toattain a more realistic or natural-looking video image (e.g., adjustingthe color of the face and hair of a user to counter white light emittedfrom a laptop). For example, increasing the white balance factor of avideo image recorded in a bright white room may cause the skin tone of auser to appear more natural looking. The set of display parameters mayinclude a color parameter. The color parameter may change the perceivedshade, pigment, or hue of a video image (e.g., adjusting the color ofthe walls of a room in a video image to decrease the red pigmentation).For example, decreasing the color factor of a video image recorded nearseveral trees with green leaves may result in the skin tone of the userappearing less green. The set of display parameters may include atemperature parameter. The temperature parameter may change the hue of aparticular light source in a video image (e.g., countering the warmyellow light emitted from a candle in a video image by adjusting thetemperature to a cooler one). For example, increasing the warmth of avideo image recorded in a bright room lit with fluorescent lights mayresult in the face of the user appearing less blue.

In various embodiments, the set of display parameters may include abrightness parameter. The brightness parameter may change the level ofperception that a source in a video image appears to be radiating orreflecting light (e.g., decreasing the brightness of the sun shining ina video image). For example, a video image in which the brightnessfactor is decreased may result in the face of a user appearing lesswhite and more natural looking. The set of display parameters mayinclude a contrast parameter. The contrast parameter may change thelevel of difference between two specific points or areas in a videoimage (e.g., increasing the distinction between the facial features of auser recording a video image in a dark room). For example, decreasingthe contrast factor of a video image may cause the dark half of the faceof a user to lighten to match the lighter half of the face of the user.The set of display parameters may include a saturation parameter. Thesaturation parameter may change the depth or intensity of a color, orthe degree to which a color differs from white (e.g., intensifying theshade of green of the grass in a video image on a cloudy day). Forexample, decreasing the saturation factor of a video image may cause thebright blue eyes of the user to appear more similar to the natural,duller blue eye color of the user. The set of display parameter valuesmay be determined to benefit the set of dynamic image quality factorswith respect to the dynamic video image (e.g., increasing a brightnessfactor in a dark room, decreasing a contrast factor in a bright room).

Consider the following example. A user may be giving a presentation atwork using a video conference application. The user may have one displayscreen for the video chat, and one or several others for presentationsand spreadsheets. A set of display parameter values may be determinedfor the display screens. The dynamic image quality factors may include alow level (e.g., 15%) of brightness, a cool temperature (e.g., 70% coollight and 30% warm light), and a low level (e.g., 20%) of saturation.The described dynamic image quality factors may cause the video image ofthe conference call to appear darker, bluer, and dully colored. The setof display parameter values may be calculated for the display screens tobenefit the set of dynamic image quality factors. The level ofbrightness (e.g., 15%) may be compared with a predetermined desiredlevel of brightness (e.g., 80%). The level of temperature may becalculated using a threshold level of temperature (e.g., a minimum of20% difference between the level of cool light and the level of warmlight). The level of saturation (e.g., 20%) may be compared to apredetermined desired level of saturation (e.g., 65%). The set ofdisplay parameter values may include an increase in the level ofbrightness by 65% to reach the desired level of brightness, a betterbalance in the temperature (e.g., 40% blue light and 60% yellow light toattain a desired threshold level of temperature), and a higher level ofsaturation (e.g., increase the saturation from 20% to 65% to achieve thedesired level of saturation). The set of display parameter values maybenefit the set of dynamic image quality factors. Raising the level ofbrightness and saturation and balancing the level of temperature maybenefit the poor display quality that the user is experiencing. Othermethods of determining the set of display parameter values are alsopossible.

In embodiments, the set of dynamic image quality factors may beevaluated at block 248. Evaluating may include gauging, assessing,calculating, or otherwise examining the set of dynamic image qualityfactors. The set of dynamic image quality factors may be evaluated withrespect to a set of image quality factor benchmarks. The set of imagequality factor benchmarks may include a threshold level of quality, apredetermined desired level of quality, a historically-derived valuesuch as a mean/median/mode, or other benchmarks (e.g., the illuminationfactor of a video image must exceed 50%, the desired level of contrastof a video image is 65%). The set of dynamic image quality factors maybe evaluated to benefit presentation of the set of facial-relatedfeatures. The set of dynamic image quality factors (e.g., 30%brightness, 45% white balance) may be assessed in order to improve thequality of the video image with respect to the set of facial-relatedfeatures of the user displayed in the video image.

Consider the following example. A user may be a participant in a videoconference call in their workplace. The set of dynamic image qualityfactors may be collected from the video image of the conference call.The set of dynamic image quality factors may include a white balancefactor of 15% and a saturation factor of 85%. The user and theirsurroundings may appear unnatural with a high intensity of color. Theset of dynamic image quality factors may be evaluated with respect to aset of image quality factor benchmarks. The device of the user may havea desired value for the white balance factor of 60%. The device may alsorequire the saturation level of the video image to fall in the range of40-70%. The dynamic image quality factors may be compared to the imagequality factor benchmarks. The white balance factor is much lower thanthe desired white balance factor value, so it may be determined that thewhite balance parameter should increase the level of white balance to atleast 60%. The saturation factor does not fall in the required range, soit may be determined that the saturation parameter should decrease thesaturation factor to at least a level of 70%. The predetermined whitebalance and saturation parameters may benefit presentation of the set offacial-related features. The set of display parameters may allow thefacial-related features of the user to appear more natural with a lowerintensity of color. Other methods of evaluating the set of dynamic imagequality factors are also possible.

In embodiments, the set of display parameter values may be selected atblock 249. Selecting can include resolving, choosing, adopting, orotherwise indicating the set of display parameter values. Selecting caninclude, for example, saving a data value (e.g., entering adigit/character in a data store), transmitting a data object (e.g.,sending an object having metadata), routing a message (e.g., publishinga startup/wait expectation), or providing/performing/processing anoperation (e.g., a notification). The set of display parameter valuesmay be selected based on the evaluation of the set of dynamic imagequality factors with respect to the set of image quality factorbenchmarks. The set of dynamic image quality factors may be compared,evaluated, or otherwise analyzed with respect to the set of imagequality factor benchmarks (e.g., a brightness factor of 10% determinedto be less than a benchmark brightness factor of 50%, a color factor of70% determined to be greater than a benchmark color factor of 40%, acontrast parameter of 60% determined to be equal to a benchmark contrastfactor of 60%). The set of display parameter values may be selected tobenefit presentation of the set of facial-related features. The set ofdisplay parameter values may be chosen or resolved in order to improvethe video image quality, as well as the quality of video image withrespect to facial-related features (e.g., brightness of skin tone,saturation of eye color).

Consider the following example. A user may be participating in a videochat with a friend in a dark room through a smartphone application. Aset of dynamic image quality factors may be collected (e.g., anillumination level of 5%, a color factor level of 10%, and a saturationfactor of 15%). The video image of the user may appear dark with littlepigmentation or intensity of color. After the evaluation of the set ofdynamic image quality factors with respect to a set of image qualityfactor benchmarks, a set of display parameter values may be determined.For example, the illumination level may need to be increased to 40%, thecolor level may need to be increased to 60%, and the saturation levelmay need to be increased to 35%, due to predetermined desired values andranges. The set of display parameter values may be selected based on theevaluation of dynamic image quality factors. The illumination parametermay be selected to increase the illumination factor by 35%, the colorparameter may be selected to increase the color of the video image by50%, and the saturation parameter may be selected to increase thesaturation factor by 20%. The set of display parameter values maybenefit the quality of the video image. The user may appear less dark,more pigmented, and with a higher intensity of color on the displayscreen of their friend. Other methods of selecting the set of displayparameter values are also possible.

At block 260, the set of computing assets may be configured using theset of display parameter values. The set of computing assets (e.g., oneor more windows, applications, display screens, some combinationthereof) may be modified, arranged, designed, or otherwise developedusing the set of display parameter values (e.g., a color parameter, abrightness parameter, an illumination parameter). The set of displayparameter values may be adjusted, selected, or chosen to carry out theconfiguring through the changing of a number (e.g., a change from 10%brightness to 30%, a change from 50% saturation to 25%), the selectingof a flavor from a listing/menu/group (e.g., low illumination, averageillumination, high illumination), or a combination of quantity andflavor (e.g., a video image is tinted green instead of blue/red and isat a 30% level of green tint). The determined set of display parametervalues may be modified or changed in order to benefit the set of dynamicimage quality factors (e.g., changing the color parameter to increasethe color factor, changing the illumination parameter to decrease theillumination factor) with respect to the dynamic video image. Themodification of the set of display parameter values may raise thequality of a dynamic video image and in particular the set of dynamicimage quality factors.

Consider the following example. A user is participating in a videoconference call for work. A set of dynamic image quality factors may becollected, including a low level (e.g., 15%) of color, a low level(e.g., 25%) of contrast, and a high level (e.g., 80%) of white balance.The dynamic image quality factors collected may indicate that the videoimage of the user participating in the video conference call may not bea high quality image (e.g., nearly colorless, dull, natural-looking).The dynamic image quality factors collected (e.g., low color, lowcontrast, high white balance) may determine a set of display parametervalues for a set of computing assets. The set of computing assets mayinclude the laptop computer being used for the live video stream, aswell as the tablet computer of the user, which the user has open to aslideshow presentation. The determined set of display parameter valuesmay include the modification of the color parameter to increase thelevel of color on the display screen to a benchmark level of 45%, themodification of the contrast parameter to increase the level of contraston the display screen to a desired level of 70%, and no modification tothe white balance parameter, since the white balance is at the benchmarklevel of 80% and already looks natural. The set of computing assets(e.g., laptop computer, tablet computer) may be configured to benefitthe set of dynamic image quality factors. The modification of the colorparameter and contrast parameter, as well as the lack of modification tothe white balance parameter to the laptop and tablet computers may raisethe quality of the video image by changing the parameter values of thevideo image of the conference call. The user participating in theconference call may appear more vibrant and colorful, but still naturallooking on the display screens of their coworkers.

Consider the following example. The user may be participating in a videochat with a friend under a tree with red leaves. The color of the redleaves may cause the user and their environment to appear to be tintedred (e.g., a red color factor of 70%). The determined set of displayparameter values may indicate a modification to the color factor. Tocounter the tint from the red leaves, the color parameter may bemodified by tinting the video image blue, green, or yellow. A green tintmay be selected from a listing/menu as the modification for the videoimage instead of blue or yellow. The color parameter may introduce thegreen tint at a 30% level. The modification of the color parameter maycause the user to appear less red and more natural looking. Othermethods of configuring the set of computing assets to benefit the set ofdynamic image quality factors may also occur.

In embodiments, the video camera configuration may be maintained atblock 262. Maintaining can include managing, preserving, or otherwisesustaining the video camera configuration. The video cameraconfiguration may be maintained to configure the set of computing assetswithout changing a video camera configuration. The video cameraconfiguration may be maintained to construct, arrange, or otherwisedesign the set of computing assets (e.g., display screen of a tablet,display screen of a projector) such that the set of computing assets maybenefit the set of dynamic quality image factors without changing avideo camera configuration. The video camera configuration (e.g.,webcam, smartphone camera, projecting device) may be maintained whilethe display screen configuration may be altered or changed. For example,the color on the display screen may be increased while the level ofcolor being recorded by the video camera remains the same.

Consider the following example. The set of dynamic image quality factorsmay be collected for a user participating in a video conference call atwork. The set of dynamic image quality factors may indicate an imbalancein temperature factor (e.g., 20% warm yellow lighting and 80% cool bluelighting) and a lower-than-desired level of white balance (e.g., 10%white balance factor). The user may appear bluer and unnatural on thedisplay screens of the devices of their colleagues. The set of displayparameter values may be determined. The temperature parameter may bemodified to create an even balance in the temperature factor (e.g., 50%warm light and 50% cool light). The white balance parameter may bemodified to increase the white balance factor from 10% to apredetermined desired level of white balance (e.g., 75%). The set ofcomputing assets may be configured using the determined white balanceand temperature parameters to benefit the set of dynamic image qualityfactors. The user may appear less blue and more natural looking on thedisplay screens of the devices of their colleagues. This configurationmay occur without changing or altering the video camera configuration inany way. The video camera may still record the user as blue andunnatural, but the devices may display the user as less blue and morenatural. Other methods of maintaining the video camera configuration mayalso be possible.

Method 200 concludes at block 299. Aspects of method 200 may provideperformance or efficiency benefits for managing dynamic video images.Aspects may save resources such as bandwidth, disk, processing, ormemory. As an example, aspects may save processing time relative tochanging video camera configuration (e.g., instead of changing bothdisplay screen and video camera, change merely one or more displayparameters).

FIG. 3 is a flowchart illustrating a method 300 of dynamic video imagemanagement. Aspects of method 300 may be similar or the same as aspectsof method 200, and aspects may be utilized interchangeably with one ormore methodologies described herein. The method 300 may begin at block301. At block 320, a set of dynamic image quality factors may becollected with respect to a dynamic video image. At block 340, a set ofdisplay parameter values may be determined based on the set of dynamicimage quality factors. The set of display parameter values may be of aset of display parameters for a set of computing assets. The set ofdisplay parameter values may be determined to benefit the set of dynamicimage quality factors with respect to the dynamic video image. At block360, the set of computing assets may be configured to using the set ofdisplay parameter values. The set of computing assets may be configuredto benefit the set of dynamic image quality factors with respect to thedynamic video image.

In embodiments, a set of facial-related features may be captured atblock 312. Capturing may include acquiring, obtaining, securing, orotherwise collecting the set of facial-related features. The set offacial-related features may be captured using a set of camera sensors.The set of camera sensors may include a set of sensors that detect anddeliver the information that constitutes a video image (e.g., webcam,smartphone camera). Facial-related features can be captured via facialrecognition software (e.g., three-dimensional analysis, skin textureanalysis, thermal cameras), facial motion capture software (e.g., eyemovement tracking), or other types of software. The set offacial-related features may include aspects that impact a quality of afacial image (e.g., low level of contrast between nose and cheeks, highlevel of saturation of skin tone). The set of facial-related featuresmay include the face (e.g., eyes, nose, skin tone), the context or theenvironment (e.g., color of the walls in the room, brightness of thelight in the room), or other aspects captured in the video image. Theset of facial-related features may be associated with the dynamic videoimage to collect the set of dynamic image quality factors. The set offacial-related features may accompany or otherwise be combined with thedynamic video image in order to collect the set of dynamic image qualityfactors.

Consider the following example. A user may be participating in a videochat with friends. A set of facial-related features may be captured forthe individual user with a set of camera sensors (e.g., the webcamapplication). For example, the light shining through the window in theroom may cause the nose of the user to appear shiny. The low level ofwhite balance in the room may cause the teeth of the user to appearyellow. These captured facial-related features may indicate a lowquality video image, as the user may not want a shiny nose and yellowteeth to appear in the video image. These facial-related features may beassociated with the video image (e.g., web cam conversation). Theassociation of the facial-related features with the video image mayfacilitate the collection of the set of dynamic image quality factors toincrease the quality of the video image. For example, the shiny nose mayindicate a high level of illumination that may need to be decreased. Theyellow teeth of the user may indicate an unnatural environment with alow level of white balance. The white balance factor may need to beincreased. The set of computing assets may be configured to lower theillumination factor and raise the white balance factor. Theconfiguration of the computing assets may reduce the shine of the noseof the user and cause their teeth to appear whiter. The quality of thevideo image may be increased. Other methods of capturing a set offacial-related features may also be possible.

In embodiments, the identification and change of a set of originaldisplay parameter values may occur at block 331. A set of originaldisplay parameter values may be identified in advance of determining theset of display parameter values of the set of display parameters for theset of computing assets. Identifying can include analyzing, determining,establishing, or otherwise selecting a set of original display parametervalues. The set of original display parameter values may bepredetermined or benchmark (e.g., historical mean/median/mode) displayparameter values that are preset for a set of computing assets (e.g., atablet requires a level of at least 40% contrast, a projector desires alevel of brightness that does not exceed 80%). The set of originaldisplay parameter values may be identified for the set of computingassets with respect to the dynamic video image. The set of originaldisplay parameter values of the set of display parameters for the set ofcomputing assets may be changed to the set of display parameter valuesof the set of display parameters for the set of computing assets.Changing may include increasing, decreasing, or otherwise modifying theset of original display parameter values to the set of display parametervalues. The set of original display parameter values may be changed tobenefit the set of dynamic image quality factors with respect to thedynamic video image. The original display parameter values may need tobe modified in order to provide the viewer with an enhanced qualityvideo image. The set of original display parameter values may beidentified and changed manually (e.g., by the user), in an automated(e.g., without user intervention) manner, or a combination of manuallyand automated.

Consider the following example. A user may frequently video chat in adark room in their home. The original display parameter values mayinclude increasing the brightness and illumination factors to a 90%level to allow for a video image with enhancement(s). The user may begina video chat conversation with a friend in this room. The brightness andillumination factors may be at a 90% level to counter the darkness ofthe room. The 90% brightness and illumination factors may be identifiedto be the set of original display parameter values. The user may haveinstalled a new light in this room, which may naturally raise thebrightness and illumination in the room. With the new light and theoriginal display parameter values, the video image may appear too brightand illuminated. The set of original display parameter values (e.g., 90%brightness, 90% illumination) may be changed to benefit the set ofdynamic image quality factors. The brightness factor may be lowered from90% to 75% and the illumination factor may be lowered from 90% to 50%.The lowering of the brightness and illumination factors may benefit theset of dynamic image quality factors and cause the user to look morenatural and less bright.

Consider the following example. A user may be participating in a videochat with a possible employer for a job interview. The user may haveopened the video chat application for the first time and realize thevideo image has a low level of quality. The user may appear toosaturated (e.g., predetermined high level of saturation instead ofaverage level) causing their eye color to look unnaturally intense. Thehigh level of saturation may be the default configuration for thedynamic image quality factors (e.g., the preset configuration of thevideo chat application, the original display parameter value). While thevideo chat is in use, disclosed aspects may begin as a plug-in in theapplication. A set of dynamic image quality factors (e.g., predeterminedhigh level of saturation) may be collected, and the set of displayparameter values may be determined. The set of display parameter valuesmay include the selection (e.g., in a manual fashion, in an automatedfashion) of an average level of saturation from a listing/menu. Themodification or change of the saturation parameter may lower the intensecolor of the eyes of the user and may increase the quality of the videoimage. In this way, the original display parameter values may beidentified and subsequently changed. Other methods of identifying andchanging a set of original display parameter values may also bepossible.

In embodiments, the set of computing assets may be configured in agradual fashion at block 361. Configuring can include constructing,arranging, composing, or otherwise designing the set of computing assetsin a gradual fashion. The configuring of the set of computing assets mayoccur at a moderate, measured, or slow pace (e.g., not drasticallychanging the brightness parameter, incrementally changing the saturationparameter). The set of computing assets may be configured in a gradualfashion to manage the dynamic video image based on a set of incrementalchanges to the set of display parameter values. The display parametervalues may be modified gradually or incrementally in order to manage orimprove the dynamic video image (e.g., increasing the contrast in avideo image slowly to distinguish between the nose and cheeks of theuser, decreasing the cool temperature of the lighting in a video imagemoderately to improve the hue of the light bulbs). For example, adisplay parameter value may be on a 0 through 100 scale, and everysecond, the display parameter value may be increased by one notch orunit until a target display parameter value is reached. As anotherexample, a display parameter value on a 0 through 100 scale may beincreased by one notch and dynamically (e.g., on-the-fly, ongoing)analyzed after each increase to determine whether or not the dynamicimage quality factor is at a desired level.

Consider the following example. The set of computing assets may includethe tablet of a user who is video chatting with a friend in a dark room.The dynamic image quality factors may indicate a brightness level of 20%as well as a need to increase the brightness factor of the displayscreen. The display parameter may be determined to increase thisbrightness factor by 70% to a target brightness level of 90%. Thedynamic video image may be managed such that the brightness factor isnot increased by 70% instantaneously. The tablet of the user may beconfigured such that the brightness parameter increases the brightnessof the display by a 10% increment every minute until the target level of90% brightness is achieved. The increase of the brightness parameter mayalso be dynamically analyzed. The dynamic image quality factors may beevaluated after every incremental increase. After six minutes, the levelof brightness may reach 80%. Upon analysis, it may be determined that an80% level of brightness is sufficient to produce a quality video image.The display parameter value may be maintained (e.g., not be modifiedanymore) once it has reached a sufficient (e.g., 80%) level ofbrightness. In this way, the brightness of the video image may not bedrastically increased over a short period of time. The modification ofthe brightness parameter in a gradual fashion may increase the level ofquality of the video image. Other methods of configuring the set ofcomputing assets in a gradual fashion may also be possible.

Method 300 concludes at block 399. Aspects of method 300 may provideperformance or efficiency benefits for managing dynamic video images.Aspects may save resources such as bandwidth, disk, processing, ormemory. As an example, the gradual configuration of the computing assetsmay conserve battery or improve the battery life of a computing device(e.g., a high level of brightness of a screen may be gradually alteredin an automated fashion). The automated gradual configuration of thecomputing assets may result in minimal user intervention (e.g.,eliminating/reducing the need to manually select/modify a displayparameter setting from a listing/menu). Other methods of conservingbattery life may also be possible.

FIG. 4 is a flowchart illustrating a method 400 of dynamic video imagemanagement. Aspects of method 400 may be similar or the same as aspectsof method 200/300, and aspects may be utilized interchangeably with oneor more methodologies described herein. The method 400 may begin atblock 401. At block 420, a set of dynamic image quality factors may becollected with respect to a dynamic video image. At block 440, a set ofdisplay parameter values may be determined based on the set of dynamicimage quality factors. The set of display parameter values may be of aset of display parameters for a set of computing assets. The set ofdisplay parameter values may be determined to benefit the set of dynamicimage quality factors with respect to the dynamic video image. At block460, the set of computing assets may be configured to using the set ofdisplay parameter values. The set of computing assets may be configuredto benefit the set of dynamic image quality factors with respect to thedynamic video image.

In embodiments, the set of computing assets may be structured to includevarious types, kinds, or natures of assets. In such instances, arespective set of display parameters may be for a respective type, kind,or nature of an asset. Structuring may include grouping, managing,assembling, constructing, configuring, or otherwise formatting the setof computing assets. In certain embodiments, the set of computing assetsmay be structured to include a plurality of computing devices at block442. The plurality of computing devices may include different physicaldisplay screens, different computers/devices, etc. (e.g., multipledifferent tablet display screens, various different laptop computers, acombination of one or more display screens and computers). The set ofdisplay parameter values may be for the plurality of computing devices.The set of display parameter values (e.g., increasing the color factorby 15%, balancing the temperature to equal levels of warm and coollight) may be for the multitude or combination of the computing devices(e.g., changing the parameter values on one tablet and two computers,maintaining the parameter values on two projectors and one tablet). Incertain embodiments, the set of computing assets may be structured toinclude a plurality of computing devices which utilize separateoperating systems at block 443. An operating system may be software thatsupports the functions (e.g., scheduling tasks, executing applications)of a computing device. The separate operating systems may include thesame operating system on different computers, different versions ofoperating systems (e.g., 7.0 and 7.2, 8.0 and 6.0), different operatingsystems entirely such as an operating system for Android (trademark ofGoogle Incorporated) and a Windows (trademark of Microsoft Corporation)operating system, or some other combination of operating systems. Theset of display parameter values (e.g., modifying the brightness,decreasing the saturation) may be for a combination of multipleoperating systems.

In certain embodiments, the set of computing assets may be structured toinclude a plurality of separate application windows at block 444. Theseparate application windows may include the same application withdifferent windows (e.g., multiple spreadsheets, a plurality of tabs onan internet browser), different application versions (e.g., an olderversion of a slideshow presentation application and a newer version ofthe same application), different applications entirely (e.g., aninternet browser and a video chat application), or some othercombination of application windows. The set of display parameter valuesmay be for the plurality of separate application windows. The set ofdisplay parameter values (e.g., increasing the white balance factor by30%, decreasing the illumination factor to obtain a level between 40%and 60%) may be for a combination of multiple application windows. Incertain embodiments, the set of computing assets may be structured toinclude a plurality of computing devices at block 445. For example, aplurality of computing device may include the use of a tablet and aprojector at the same time, the use of two smartphones with a laptopcomputer, or other combinations of a plurality of computing devices. Theplurality of computing devices may run a plurality of separate operatingsystems (e.g., version 7.0 and 7.3). The separate operating systems mayuse a plurality of different applications (e.g., video chat applicationand spreadsheet). The plurality of different applications may include aplurality of separate application windows for presentation on aplurality of different physical display screens (e.g., video chatapplication and internet browser on a tablet while using a projector todisplay a spreadsheet). The set of display parameter values (e.g.,modifying the brightness level of a video image, decreasing thesaturation of a video image) may be for the plurality of separateapplication windows (e.g., video chat on a laptop computer and slideshowon a projector screen).

Consider the following example. A user may be using a video chatapplication in order to communicate with family members across thecountry during Thanksgiving dinner. The user may be participating in avideo chat on their laptop computer while streaming a football game on aprojector screen. The reflection of the football game on the face of theuser may distort the facial features and dynamic image quality factors.As an example, the green grass of the football field may cause the faceof the user to be tinted green. The user may not want to appear green inthe video image. A set of dynamic image quality factors may becollected, which may include a green color factor of 75%. The determinedset of display parameter values may include the lowering of the greencolor factor to 25%. The configuration may occur on either device orboth devices. The display image of the game on the projector may beconfigured such that the green color factor is decreased to 25%. Thedisplay image of the user in their video chat may be configured suchthat the green color factor is decreased to 25%. The display image ofthe game may decrease the green color factor by 30% while the displayimage of the user may decrease the green color factor by 20%. Theprojector and the laptop computer may utilize separate operating systems(e.g., Android and Windows). The projector and the laptop may include aplurality of separate application windows. The video chat applicationmay have several windows opened in order to communicate with severalfamily members at various locations at the same time (e.g., threedifferent video chat applications, four different windows of the samevideo chat application). The projector may be configured such that theuser is able to watch two different games at the same time (e.g., twodifferent games on two different tabs of the same internet browser, twodifferent games using two different internet browsers). The laptopcomputer and projector may be configured to include multiple devices,multiple separate operating systems, multiple separate applicationwindows, or any combination of devices, operating systems, andapplication windows. Other examples of structuring the set of computingassets to include various types of assets may also be possible.

Method 400 concludes at block 499. Aspects of method 400 may provideperformance or efficiency benefits for managing dynamic video images.Aspects may save resources such as bandwidth, disk, processing, ormemory. As an example, using a plurality of computing devices fordynamic video image management may save memory (e.g., adjusting thevideo image on a tablet but not on a laptop may save memory on thelaptop). Memory may be saved, for example, by the camera on one devicenot constantly having to make adjustments. Other methods of conservingmemory may also be possible.

FIG. 5 is a flowchart illustrating a method 500 of dynamic video imagemanagement. Aspects of method 500 may be similar or the same as aspectsof method 200/300/400, and aspects may be utilized interchangeably withone or more methodologies described herein. The method 500 may begin atblock 501. At block 520, a set of dynamic image quality factors may becollected with respect to a dynamic video image. At block 540, a set ofdisplay parameter values may be determined based on the set of dynamicimage quality factors. The set of display parameter values may be of aset of display parameters for a set of computing assets. The set ofdisplay parameter values may be determined to benefit the set of dynamicimage quality factors with respect to the dynamic video image. At block560, the set of computing assets may be configured to using the set ofdisplay parameter values. The set of computing assets may be configuredto benefit the set of dynamic image quality factors with respect to thedynamic video image.

In embodiments, a new application window may occur at block 541. Atriggering event may be detected. Detecting can include sensing,identifying, or otherwise recognizing a triggering event. A triggeringevent can include a machine-generated or user-generated occurrence orevent that may cause another event to occur (e.g., detecting that thenew tab button on an internet browser has been clicked, detecting thatthe website is about to provide a pop-up message, detecting that anapplication program is initiating a new process which will modify one ormore window sizes of one or more running instances of the applicationprogram). The triggering event may indicate a new application window isto be rendered. Indicating can include signaling, specifying, orotherwise denoting a new application window is to be rendered (e.g., theopening of a new spreadsheet, the rendering of a video chatapplication). The set of display parameter values of the set of displayparameters may be determined for the new application window. Determiningcan include resolving, establishing, or otherwise ascertaining the setof display parameter values for the new application window (e.g.,decreasing the brightness factor of a spreadsheet, maintaining thesaturation factor of a new video conversation). The set of displayparameter values may be determined based on the set of dynamic imagequality factors. The set of display parameter values may be determinedto benefit the set of dynamic image quality factors with respect to thedynamic video image. The set of display parameter values may bedetermined to increase the level of quality of the video image. The newapplication window may be rendered. Rendering may include implementing,establishing, developing, opening, or otherwise introducing the newapplication window. The new application window may be rendered using theset of display parameter values of the set of display parameters for thenew application window.

Consider the following example. A user may be giving a presentation atwork while taking part in a video conference call. The user may be usingtheir laptop computer to record the video image while a spreadsheet isbeing shown on a projector screen. The user may need to open anadditional spreadsheet tab on the projector screen that is displayingthe original spreadsheet. The user may click the tab to open the secondspreadsheet. The set of display parameter values may be determined forthe second spreadsheet to benefit the set of dynamic image qualityfactors. The second spreadsheet may have a higher level of brightnessthan the first (e.g., 70% compared to 40%). The rendering of the secondspreadsheet may modify the dynamic image quality factors. The renderingof the second spreadsheet may distort or decrease the quality of thevideo image on the devices of the colleagues of the user. The set ofdisplay parameter values may be determined for the second spreadsheetbefore the second spreadsheet is rendered. The set of display parametervalues may include lowering the level of brightness on the displayscreen by 30% once the second spreadsheet is opened. Once the set ofdisplay parameter values for the second spreadsheet have beendetermined, the second spreadsheet may be rendered. The video imagequality may not decrease since the set of display parameter values wasdetermined for the second spreadsheet before it was opened. Othermethods of rendering a new application window may also occur.

In embodiments, structuring and maintaining may occur at block 552. Theset of computing assets may be structured to include a set of secondarycomputing assets. Structuring may include managing, assembling,composing, or otherwise configuring the set of computing assets toinclude a set of secondary computing assets. The set of secondarycomputing assets may include open but inactive windows or applications(e.g., an application playing music in the background, an internet tabthat has been minimized for use at a later point in a presentation). Theset of active display parameter values of the set of active displayparameters for the set of active computing assets may be maintained.Maintaining may include controlling, managing, preserving, or otherwisesustaining the set of active display parameter values for the set ofactive computing assets (e.g., maintaining the current level of color ona slideshow presentation on a projector screen). The set of activedisplay parameter values may be maintained to configure the set ofcomputing assets. The set of computing assets may be configured withoutchanging a set of active display parameter values of a set of activedisplay parameters for a set of active computing assets (e.g., theapplication currently in use).

Consider the following example. A user may be video chatting with afriend using a tablet while sitting outside in the sun. The user mayalso have an internet browser open as a primary application, while thevideo chat application may be open in the background as the secondaryapplication. While using the internet browser, the level of brightnessmay have been increased to 90% in order for the user to see the screenwhile sitting outside. While using the video chat application, the levelof brightness may be decreased to 50% in order to prevent distortion ofthe image of the video image of the friend. The tablet may be structuredto include the background secondary application, the video chatapplication. The active display parameter values may be maintained whilethe user is viewing the internet browser. The level of brightness mayremain at a lower level of 50% while the video chatting applicationremains active. Other methods of structuring and maintaining to includea set of secondary computing assets may also be possible.

In embodiments, a modification to the set of active display parametersmay be disabled at block 553. Disabling can include restricting,deactivating, preventing, or otherwise hindering a modification to theset of active display parameters. A modification to the set of activedisplay parameter values of the set of active display parameters for theset of active computing assets may be disabled for a threshold temporalperiod. The modification to the set of active display parameter valuesmay be disabled when a user switches to a different application windowfor a certain temporal period before the previously active window may besubject to aspects described herein. For example, when a user switchesfrom a slideshow to a spreadsheet, the slideshow may remain illuminatedfor a temporal period of five minutes. At the end of the five minutes,the slideshow may darken because it is no longer considered an activewindow.

Consider the following example. A user may be a participant in a videoconference call at work using their laptop computer. The user may alsohave multiple screens behind them to display various spreadsheets. Thespreadsheets may have a set of display parameter values which indicate acontrast factor of 55%. The user may open an image on another screen.The image may have a set of display parameter values which indicate acontrast level of 75%. The modification to the set of the active displayparameter values may be disabled. The opening of the image on a newscreen may not cause the contrast level of the spreadsheets to changeimmediately. Once the image has been open for a temporal period (e.g.,five minutes), it may be determined that the image is the activeapplication, not the spreadsheets. The contrast level of thespreadsheets may increase at this time (e.g., after the five minutetemporal period). The user may not need to show the image for a longamount of time (e.g., the image is only visible for ten seconds). Ratherthan modifying the contrast of the image for only ten seconds, thesystem may disable the modification of the contrast, since ten secondsdoes not exceed a temporal period of five minutes. The user may also beopening several new spreadsheet windows in a short period of time. Thesystem may want to wait until the computing device has a more stablesetup before making any changes to the contrast parameter. The systemmay want to wait until a particular window has been active or primaryfor a temporal period (e.g., two minutes). Once a particular window hasbeen the primary window for two minutes, the projector may then beconfigured to benefit the set of dynamic image quality factors. Otherexamples of disabling a modification to the set of active displayparameter values may also occur.

Method 500 concludes at block 599. Aspects of method 500 may provideperformance or efficiency benefits for managing dynamic video images.Aspects may save resources such as bandwidth, disk, processing, ormemory (as described herein).

FIG. 6 illustrates an example system 600 for dynamic video imagemanagement, according to embodiments. As an example, in configuration610, the screen of a device may be dark, resulting in the face of theuser appearing dark. In configuration 630, the screen of a device may bevery light, resulting in the face of the user appearing too white. Thedynamic image quality factors may be collected, indicating that a lowerquality image exists and that a higher quality image may be desired.Consider the following example. A user may be participating in a videochat conversation with a friend using a tablet. A set of dynamic imagequality factors may be collected based on the dynamic video image. Theset of dynamic image quality factors may include a 10% white balancefactor and a 75% saturation factor. The set of dynamic image qualityfactors may be based on a set of facial-related features. For example,the indicated low level of white balance may be based on the teeth ofthe user appearing yellow. The indicated high level of saturation may bebased on the skin tone of the user appearing orange. The user may appearunnatural and the colors of their environment may appear too intense. Aset of original display parameter values may be identified for thetablet. For example, if the user frequently video chats in a room withbright, intense, heavily saturated walls, the tablet may be configuredto have an original level of saturation of no more than 75%. If the 75%saturation factor is still too high, the set of original displayparameter values may be changed to an original level of saturation of nomore than 65%.

A set of display parameter values may be determined for the tablet ofthe user described herein. The set of display parameter values mayinclude the raising or lowering of the dynamic image quality factors,such as raising the white balance factor to a predetermined benchmarkvalue of 70% and decreasing the saturation factor to within a range of30-50%. The tablet may be configured to benefit the set of dynamic imagequality factors. The white balance factor may be increased to thebenchmark value of 70%. The saturation factor may be reduced to 40% tofall within the desired range of 30-50%. The video camera configurationof the tablet may be maintained. The display screen of the tablet may beconfigured to include a higher level of white balance and a lower levelof saturation, but the video camera configuration will not change. Thedynamic image quality factors, such as the level of saturation, may belowered in a gradual fashion. For example, the level of saturation maydecrease by a 5% increment every ten seconds.

FIG. 7 illustrates an example system 700 for dynamic video imagemanagement, according to embodiments. As an example, in configuration710, the user may have several applications open at one time. Thedisplay may need to be configured such that every application is takeninto account in order to benefit the dynamic image quality factors andthe dynamic video image. In configuration 730, the screen may includeseveral different colors. The display may need to be configured suchthat the color factor may not distort the appearance of the user.Consider the following example. The user described herein may need toopen a new application, such as a new video chat window, to communicatewith another friend at the same time. The user may click the button toopen a new conversation window, which may indicate a triggering event.The set of display parameter values for the new conversation window maybe determined before the new window is opened. For example, the newwindow may need to be configured for a different set of dynamic imagequality factors, such as a lower level of brightness. The newconversation window may only be active for two minutes, which may be ashorter length of time than a threshold temporal period of five minutes.Since the new conversation window is not open for a long enough amountof time, the tablet may not be configured such that the brightness islowered to accommodate for the new conversation window. The user may beusing a plurality of devices, such as also having their laptop openwhile video chatting on the tablet. The laptop may also be configured toenhance the quality of the video image on the tablet. The laptop and thetablet may use separate operating systems. The laptop and the tablet mayalso use different versions of the same operating system (e.g., 7.0 and7.3). The user may have several application windows open during thevideo chat. For example, the user may have two video chats open on thetablet. The user may have a video chat application and an internetbrowser open on the tablet. The user may have a video chat open on thetablet and an internet browser open on the laptop. The dynamic imagequality factors may be modified for all of these scenarios involving aplurality of computing devices, a plurality of separate operatingsystems, a plurality of separate application windows, or a combinationof these assets. Other example systems may also be possible.

In addition to embodiments described above, other embodiments havingfewer operational steps, more operational steps, or differentoperational steps are contemplated. Also, some embodiments may performsome or all of the above operational steps in a different order. Themodules are listed and described illustratively according to anembodiment and are not meant to indicate necessity of a particularmodule or exclusivity of other potential modules (or functions/purposesas applied to a specific module).

In the foregoing, reference is made to various embodiments. It should beunderstood, however, that this disclosure is not limited to thespecifically described embodiments. Instead, any combination of thedescribed features and elements, whether related to differentembodiments or not, is contemplated to implement and practice thisdisclosure. Many modifications and variations may be apparent to thoseof ordinary skill in the art without departing from the scope and spiritof the described embodiments. Furthermore, although embodiments of thisdisclosure may achieve advantages over other possible solutions or overthe prior art, whether or not a particular advantage is achieved by agiven embodiment is not limiting of this disclosure. Thus, the describedaspects, features, embodiments, and advantages are merely illustrativeand are not considered elements or limitations of the appended claimsexcept where explicitly recited in a claim(s).

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

Embodiments according to this disclosure may be provided to end-usersthrough a cloud-computing infrastructure. Cloud computing generallyrefers to the provision of scalable computing resources as a serviceover a network. More formally, cloud computing may be defined as acomputing capability that provides an abstraction between the computingresource and its underlying technical architecture (e.g., servers,storage, networks), enabling convenient, on-demand network access to ashared pool of configurable computing resources that can be rapidlyprovisioned and released with minimal management effort or serviceprovider interaction. Thus, cloud computing allows a user to accessvirtual computing resources (e.g., storage, data, applications, and evencomplete virtualized computing systems) in “the cloud,” without regardfor the underlying physical systems (or locations of those systems) usedto provide the computing resources.

Typically, cloud-computing resources are provided to a user on apay-per-use basis, where users are charged only for the computingresources actually used (e.g., an amount of storage space used by a useror a number of virtualized systems instantiated by the user). A user canaccess any of the resources that reside in the cloud at any time, andfrom anywhere across the Internet. In context of the present disclosure,a user may access applications or related data available in the cloud.For example, the nodes used to create a stream computing application maybe virtual machines hosted by a cloud service provider. Doing so allowsa user to access this information from any computing system attached toa network connected to the cloud (e.g., the Internet).

Embodiments of the present disclosure may also be delivered as part of aservice engagement with a client corporation, nonprofit organization,government entity, internal organizational structure, or the like. Theseembodiments may include configuring a computer system to perform, anddeploying software, hardware, and web services that implement, some orall of the methods described herein. These embodiments may also includeanalyzing the client's operations, creating recommendations responsiveto the analysis, building systems that implement portions of therecommendations, integrating the systems into existing processes andinfrastructure, metering use of the systems, allocating expenses tousers of the systems, and billing for use of the systems.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

While the foregoing is directed to exemplary embodiments, other andfurther embodiments of the invention may be devised without departingfrom the basic scope thereof, and the scope thereof is determined by theclaims that follow. The descriptions of the various embodiments of thepresent disclosure have been presented for purposes of illustration, butare not intended to be exhaustive or limited to the embodimentsdisclosed. Many modifications and variations will be apparent to thoseof ordinary skill in the art without departing from the scope and spiritof the described embodiments. The terminology used herein was chosen toexplain the principles of the embodiments, the practical application ortechnical improvement over technologies found in the marketplace, or toenable others of ordinary skill in the art to understand the embodimentsdisclosed herein.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the variousembodiments. As used herein, the singular forms “a,” “an,” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. “Set of,” “group of,” “bunch of,” etc. are intendedto include one or more. It will be further understood that the terms“includes” and/or “including,” when used in this specification, specifythe presence of the stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof. In the previous detaileddescription of exemplary embodiments of the various embodiments,reference was made to the accompanying drawings (where like numbersrepresent like elements), which form a part hereof, and in which isshown by way of illustration specific exemplary embodiments in which thevarious embodiments may be practiced. These embodiments were describedin sufficient detail to enable those skilled in the art to practice theembodiments, but other embodiments may be used and logical, mechanical,electrical, and other changes may be made without departing from thescope of the various embodiments. In the previous description, numerousspecific details were set forth to provide a thorough understanding thevarious embodiments. But, the various embodiments may be practicedwithout these specific details. In other instances, well-known circuits,structures, and techniques have not been shown in detail in order not toobscure embodiments.

What is claimed is:
 1. A computer-implemented method for dynamic videoimage management, a computer having a processor to execute instructionsstored in a memory to carry out the method, the method comprising:collecting, with respect to a dynamic video image, a set of dynamicimage quality factors; determining, based on the set of dynamic imagequality factors, a set of display parameter values of a set of displayparameters for a set of computing assets to benefit the set of dynamicimage quality factors with respect to the dynamic video image, whereinthe set of dynamic image quality factors includes an illuminationfactor, a white balance factor, a color factor, a temperature factor, abrightness factor, a contrast factor, and a saturation factor, andwherein the set of display parameters includes a display illuminationparameter, a white balance parameter, a color parameter, a temperatureparameter, a brightness parameter, a contrast parameter, and asaturation parameter; configuring, using the set of display parametervalues, the set of computing assets to benefit the set of dynamic imagequality factors with respect to the dynamic video image; maintaining, toconfigure the set of computing assets without changing a video cameraconfiguration, the video camera configuration; structuring the set ofcomputing assets to include a set of secondary computing assets;maintaining, to configure the set of computing assets without changing aset of active display parameter values of a set of active displayparameters for a set of active computing assets, the set of activedisplay parameter values of the set of active display parameters for theset of active computing assets; disabling, for a threshold temporalperiod, a modification to the set of active display parameter values ofthe set of active display parameters for the set of active computingassets; structuring the set of secondary computing assets to include aplurality of computing devices which run a plurality of separateoperating systems which have a plurality of different applications whichinclude a plurality of separate application windows for presentation ona plurality of different physical display screens, wherein the set ofdisplay parameter values is for the plurality of separate applicationwindows; and configuring the set of secondary computing assets in agradual fashion to manage the dynamic video image based on a set ofincremental changes to the set of display parameter values; detecting atriggering event which indicates a new application window is to berendered; determining, based on the set of dynamic image qualityfactors, the set of display parameter values of the set of displayparameters for the new application window to benefit the set of dynamicimage quality factors with respect to the dynamic video image; andrendering, using the set of display parameter values of the set ofdisplay parameters for the new application window, the new applicationwindow.